package org.example.jiaxiao.service;

import org.example.jiaxiao.entity.Course;
import org.example.jiaxiao.entity.Student;

import java.util.List;
import java.util.Map;

public interface ArrangeService {
    /**
     * 调用ArrangeMapper的getStudentinformation方法从数据库获取学生信息列表
     * @return 学生信息列表
     */
    List<Student> getStudentinformation();
    
    /**
     * 获取特定学生的课程信息
     * @param studentId 学生ID
     * @return 学生课程详细信息
     */
    Map<String, Object> getStudentCourseInfo(Integer studentId);

    /**
     * 接收学生ID和课程ID作为参数，调用ArrangeMapper的arrangeCourse方法在数据库中进行课程安排操作
     * @param studentId 学生ID
     * @param courseId 课程ID
     * @return 操作成功与否
     */
    boolean arrangeCourse(Integer studentId, Integer courseId);

    /**
     * 接收筛选参数（以Map形式），调用ArrangeMapper的FillCourse方法在数据库中进行课程填充或筛选操作
     * @param filterParams 筛选参数
     * @return 操作成功与否
     */
    boolean FillCourse(Map<String, Object> filterParams);
    
    /**
     * 获取所有课程列表，用于训练安排下拉选择
     * @return 课程列表
     */
    List<Course> getAllCourses();
}
